home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
4
/
max102_3.zip
/
WHATSNEW.102
< prev
Wrap
Text File
|
1990-08-07
|
62KB
|
1,271 lines
WHATSNEW.DOC WHATSNEW.DOC
This file is intended as a reference guide for seasoned Max
1.00 SysOps. This contains a brief listing of the new
features in Maximus version 1.02. If you've never used
Maximus before, or have difficulty understanding some of the
material in this file, then you should consult the `real'
documentation files. Both MAX_OP.PRN and MAX_REF.PRN deal
with many of the topics in this file, but in greater depth.
MAX.CTL MAX.CTL
* Added "Format MsgFooter" and "Format FileFooter"
statements to MAX.CTL. These are similar to MsgHeader
and FileHeader, except they will be displayed AFTER all
of the custom-generated area/descriptions have been
displayed.
* Added another option to the Msg/File
Header/Format/Footer commands. The "%f" token, when
followed by a filename, will cause that filename to be
displayed before the line is processed. In other
words, this:
Format MsgHeader %fD:\Max\Misc\Msg_Head
...would cause the file 'D:\Max\Misc\Msg_Head.Bbs' to
be displayed. Please keep in mind that any files will
be displayed BEFORE the line itself is processed. That
means that a construction such as this:
Format MsgHeader BEFORE %fD:\Max\Misc\Msg_Head AFTER
...would display the file D:\Max\Misc\Msg_Head,
followed by the words "Before" and "After". The space
after the filename is mandatory, since it separates the
filename from the other tokens in the format string.
The second token added allows the creation of multiple-
column area menus. If you place a token in the form
"%#.$c", where "#" and "$" are numbers, then Maximus
will SKIP the display of the next "$" characters, after
every "#"th area. (If the ".$" portion is omitted,
then Max will skip only the next character.) In other
words, you can now properly display a two- or three-
column area menu, without using end-of-line wrapping.
For a proper two-column display, use this:
Format MsgFormat %x16%x01%x0d%2#%x16%x01%x07 ...
%x16%x01%x03%-31.31n %2c%x0a
For a proper three-column display, use this:
Format MsgFormat %x16%x01%x0d%2#%x16%x01%x07:
%x16%x01%x03%-20.20n %3c%x0a
Also, you may want to add a "MsgFooter" statement,
which includes two "%x0a"'s, to put the cursor on the
next line after displaying the last area, but before
the area prompt:
Format MsgFooter %x0a%x0a
This new token will also function identically for the
file area menu.
* Added the "Local Input Timeout" parameter to the
SESSION section of MAX.CTL. This will enable the input
timer for local log-ons, and will automatically log off
a local caller if s/he doesn't type anything for a
period of five minutes. Without this option enabled,
Maximus will act as it did in v1.00, and place no input
time limit on local callers.
* A new command was added to MAX.CTL, to allow the SysOp
to change the keys used for the A)rea Change command.
This controls the keys used to change to the prior and
next areas, and also the key used to create an area
listing. The command should be placed in the SESSION
section of MAX.CTL, and should be in this format:
Area Change Keys []?
The first character after the `Area Change Keys'
defines the key which switches the user to the PRIOR
area, the second character defines the key to switch to
the NEXT area, and the third character defines the key
to display a list of message areas. Although this
command redefines the area-changing keys, all of the
old commands will still work. For example, even if you
have changed the definition to "PN=", all of '<', '-'
and '[' would work to change the the prior area, just
as '>', '+' and ']' would for the next area.
Similarly, both '?', '/' and <enter> will always work
to display the area listing. If this statement is not
placed in MAX.CTL, then it will default to "[]?".
* Status line. If you are using the `Video IBM' option,
you can now have a STATUS LINE displayed on your local
screen , by placing the "StatusLine" keyword in the
SESSION section of the control file. NOTE: the status
line will only be displayed while a real caller is on-
line. It will not be shown for local log-ons.
* Support for PC-MOS. If you insert the line
"Multitasker PC-MOS" in your control file, Max will
then correctly give away timeslices to the operating
system when it isn't busy.
* The "No Hogging" keyword has been eliminated. Users
cannot log on to more than one line of a multi-line
system, no matter what. However, the file ACTIVE_2.BBS
will still be displayed when the user makes such an
attempt.
* If "Alias System" is NOT defined in the control file,
then Max will reject users who try to enter one-word
names. (For compatibility reasons, preexisting users
with one-word names will still be allowed on. However,
no NEW users will be allowed on using a one-word name.)
Also, if "Alias System" IS defined in the control file,
then Max won't even bother asking for a last name, and
assume that the user entered the whole thing at the
first prompt.
* Maximus now allows you to select the default
message/file area which new users will be placed into.
In the SESSION section of MAX.CTL, `First Message Area
<a>' and `First File Area <a>' tell Max the area number
to use for the default message and file areas,
respectively.
MENUS.CTL MENUS.CTL
* The following option was undocumented in Maximus 1.00:
the `Override_Path' menu command allows one to
temporarily modify the path of the current file area,
without recompiling or modifying the control files.
* Added a `Msg_Change' menu option. Obviously, this
command allows you to change the contents of the
current message. It can be used with both MaxEd and
BORED, and also an external editor defined through the
`Local Editor' option in MAX.CTL.
The Change command uses two display files:
\MAX\MISC\CHG_SENT.BBS - Displayed when message has
already been sent.
\MAX\MISC\CHG_NO.BBS - Displayed if the message was not
written by the current user.
The default line to place in MENUS.CTL (in the MESSAGE
menu) is:
Msg_Change Disgrace "Change Message"
* Added a `ReRead' menu flag to MENUS.CTL. This will
cause Maximus to re-read the LASTUSxx.BBS upon
returning from the external program which the menu
option invokes. (The same thing can be done through
the [dos] and [xtern_xxx] MECCA commands, by inserting
a `@' as the first character of the command to execute.
However, the `ReRead' token is implied for
[xtern_erlvl], and is unnecessary.)
* Added the `UsrRemote' and `UsrLocal' modifiers to
MENUS.CTL. These can be placed in front of any menu
option, and won't allow the user to execute that
command, unless s/he is calling from remote or calling
local, respectively.
* Added a "NoCLS" modifier for Display_Menu menu options.
If you place the word "NoCLS" before a Display_Menu
command in MENUS.CTL, then Maximus will NOT clear the
screen before displaying that menu.
* You can now define message and file areas separately in
AREAS.CTL, simply by using an "Area" block with the
same number, for each of the message and file sections.
For example, instead of this:
Area 12
FileInfo Miscellaneous
Download D:\Path\
Upload D:\Path\
MsgInfo Local Msgs
Local D:\Msg\Local\
End Area
...you could use this:
Area 12
FileInfo Miscellaneous
Download D:\Path\
Upload D:\Path\
End Area
% ... more area definitions here ...
% (This block could be placed in a separate file)
Area 12
MsgInfo Local Msgs
Local D:\Msg\Local\
End Area
Note that the areas do NOT have to be defined
sequentially in the control file. In other words, you
can keep all of your message areas in one file, and all
file sections in another.
* Added a new menu option: "Key_Poke". This command will
automatically insert characters into the "key-stack"
buffer, whenever this command is executed. Maximus
will behave just as if the user had entered the
keystrokes by him/herself. For example, the following
command:
Key_Poke c;fname.zip_dz;filename.zip "Show/DL FNAME.ZIP"
...would cause Maximus to insert the characters
"c;fname.zip dz;filename.zip" into the key-stack
buffer. If the user was in a file area, then this
would cause a file contents to be performed on
FNAME.ZIP, and the same file would then be downloaded.
Please see the Maximus Technical Reference Manual for
more information on using this option.
* Added a shortcut for the "Key_Poke" MENUS.CTL option.
Instead of "linking" a separate option for each command
you wish to use (see the Max TechRef Manual for
information on linking commands), it is now also
possible to add a key poke to any command. The
following definition...
Area_Change File Disgrace "Chg to #6" "6"
...is equivalent to the following two options:
Key_Poke 6 Disgrace "Chg to #6"
NoDsp Area_Change File Disgrace "C"
* Added a new "HeaderFile" keyword to MENUS.CTL This
will be shown the FIRST time that the current menu file
is displayed. If a MenuHeader statement is specified,
the HeaderFile will be displayed AFTER the internal
MenuHeader is shown. If no MenuHeader is specified,
then the HeaderFile will be displayed as soon as the
menu is entered.
AREAS.CTL AREAS.CTL
* Added multi-line file comments. They are now
implemented by simply using one long line for each
file, but having the file-display routine wordwrap the
descriptions. Up to three lines of description can be
entered for each file uploaded.
* The `MenuPath' command in AREAS.CTL has now been
obsoleted. In its place are two commands called
`MsgMenuName <mname>' and `FileMenuName <mname>'.
Instead of changing the path to the menu files, this
new command will just change the name of the menu file,
for the current area only. (If you need to change the
menu path, you can use the `[menupath]' MECCA token
instead.) This allows you to define a completely
separate menu for one area alone, without modifying the
menu path on a global basis.
* Added a new "Priv Override" function to the
message/file areas. Now, it is possible to change the
priv level of a menu command, for one message or file
area only. In AREAS.CTL, for each access level you
wish to change, insert the following statement inside
the "Area" block pertaining to that area:
MsgOverride <cmd> <priv>[/<lock>]
<cmd> is the name of the menu command to alter the priv
level of. You don't need to specify the full command;
indeed, only the first letter is required. In other
words, "Enter", "Ent" and "E" are all treated the same.
<priv> specifies the priv level to use the command, and
<lock> specifies the key numbers which the user needs
to access the specified option.
You can do the same thing for file areas, by using this
command instead:
FileOverride <cmd> <priv>[/<lock>]
Examples:
MsgOverride Enter Normal/1
This will change the access level of the Enter
command to NORMAL, and require that the user have
key #1 to access the option.
FileOverride Download Extra
This will change the access level of the Download
command to EXTRA.
You can specify up to 16 MsgOverrides and 16
FileOverrides in one area definition.
* Maximus will now allow separate barricades for message
and file areas using the same name/number, thereby
fully completing the separation. The old "Barricade"
keyword can still be used to define a barricade for
both the message and file area. However, you can now
use the "MsgBarricade" and/or "FileBarricade" keywords
to protect the message and file areas separately.
Also, the AREA.DAT structure was modified to allow
paths up to 80 characters long, as opposed to the 40-
character limit inherited from Opus' SYSTEM*.BBS files.
* The "Use Realname" option in AREAS.CTL has been
implemented. When this keyword is inserted in an area
definition, Maximus will insert the user's REAL NAME in
the "To:" field of messages entered, as opposed to the
name the user logged on with.
EXTERNAL PROGRAMS EXTERNAL PROGRAMS
* The Alt-J local keystroke (Shell to DOS) should now
work throughout all of Maximus.
* Maximus will now add task numbers (if necessary) to the
names of external protocol .CTL and .LOG files.
* Added some new "%" outside command tokens:
%d Number of current MESSAGE area
%D Number of current FILE area
%e The user's password
%E The user's screen length
%G The user's daily DL limit, in kilobytes
%H Number of Kb downloaded by user today
%i Total downloads, in Kb
%I Total uploads, in Kb
%j Minutes on-line, this call
MESSAGE AREAS MESSAGE AREAS
* If you add the keyword "High Bit Allowed" to a message
area definition, Maximus will then allow high-bit
characters (also known as `IBM Extended ASCII' -- used
for drawing boxes and foreign characters) to be used in
that area, and that area only. Be careful when using
this flag in echomail conferences, since some areas
have restrictions on the use of high-bit characters.
If in doubt, contact the moderator of the conference
first. You can also use priv-level modifiers with this
command. For example: "Sysop High Bit Allowed" would
only allow the SysOp to enter messages with high bits
set.
* Added an <Alt-C> command to MaxEd, which performs the
same function as ^kC (quote copy).
* Added a "No Realname Kludge" statement to area
definitions. You can now place this keyword inside a
message block, which TOGGLES the status of the "No
Realname Kludge" option in MAX.CTL for that particular
area. In other words, if the "No Realname Kludge"
option is ENABLED in MAX.CTL, placing the "No Realname
Kludge" AREAS.CTL option will turn it OFF for that
specific area.
* The new "Gate Netmail" option (in the MATRIX SECTION)
specifies that you want inter-zone netmail sent through
the zonegate, and not directly. Note that this does
NOT eliminate the nodelist checking for an out-of-zone
node. If you need to do that as well, implement the
"Message Send Unlisted" keyword, described below.
* Users can now send messages to a matrix address which
is not in the nodelist. To make use of this feature,
you will have to add the line "Message Send Unlisted
<priv> <cost>" in the MATRIX AND ECHOMAIL section. If
the user's priv is NOT <priv> or above, then the user
will NOT be allowed to enter a message to an unlisted
destination address. However, if the user's priv is
greater than or equal to <priv>, then the user WILL be
allowed to send the mesesage, and <cost> cents will be
deducted from the user's matrix account. (If you wish
messages to unlisted addresses to be free, then use 0
for <cost>.)
Example:
Message Send Unlisted AsstSysop 25
Implementing this would let only the Sysop and
AsstSysop send messages to an unlisted address, and
would debit the sender's matrix account by 25 cents
whenever a message was sent to an unlisted address.
* Max will now nuke the forward/back message threads when
H)urling a message.
* When replying to a message, Max will now import zone
and point information from the MSGID line (if present),
instead of relying on ^aINTL and ^aFMPT as we did
before.
* Maximus will now check extended barricades before
LISTING message areas with the "A?" function, and also
when S)canning for messages or L)ocating a file.
* For the Local Editor command, Maximus will now use a
different temporary filename for each task number.
Instead of using MSGTEMP.$$$, Max will now use
MSGTMPxx.$$$, where 'xx' is the task number of the
current task. If you want the name of the temporary
file substituted in automatically, insert a `%s' in the
Local Editor command, where you want the filename to
appear.
* The new "Message Show Private to <priv>" option, in the
MATRIX section of the control file, can be used to
configure the minimum privilege level required to see a
message which is NOT addressed to you. Setting <priv>
below AsstSysop is NOT recommended.
* When H)urling or F)orwarding messages, Maximus will now
log the message area which was hurled to/forwarded to
in EchoToss.Log.
* A new MsgFormat token has been added. Placing "%*" in
the MsgFormat string will display a "*" if there are
any new messages in that particular area, and a space
if not. (The character displayed will use the current
attribute.)
* Added two commands to MaxEd. ^l will now redraw the
current LINE, and ^w will redraw the entire SCREEN.
FILE AREAS FILE AREAS
* Modified the "File Date" option in the control file.
Now, instead of having two mutually-exclusive options
(either an automatic datestamp, or a custom datestamp
which had to be inserted directly into FILES.BBS), you
can now specify one of several date formats, without
manually typing the dates in. The new format for "File
Date" is:
File Date <type> [format]
<type> can be either of "Automatic" or "Manual".
"Automatic" means that Max will look at the file's
directory entry to determine both the file's size and
date. If <type> is manual, then Maximus won't look at
the directory entry, and will assume that the size and
date information is contained in FILES.BBS itself.
[format] specifies the format to use for the date stamp
in both in FILES.BBS (for MANUAL dating) and displayed
to the user (for AUTOMATIC dating). [format] and can
be any of the following options:
mm-dd-yy (default)
dd-mm-yy
yy-mm-dd
yymmdd
(This format will also be used when doing a new-files
search, too.) If <type> is "Automatic", then the date
format will be used when displaying files' directory
entries -- if <type> is "Manual", then Max will use
insert the specified date into FILES.BBS when a file is
uploaded.
Examples:
File Date Automatic
This tells Maximus to use an automatic file date, and
to use the standard U.S.A. date format, and to
automatically get file dates from the DOS directory
File Date Manual dd-mm-yy
This tells Maximus to use the Canadian/English date
format, and to insert dates in that format when adding
uploads to FILES.BBS. In this situation, Maximus would
expect to find the specified format for all dates in
FILES.BBS.
* Modified the R)aw Directory command so it will display
subdirectories, in addition to just files.
* Made Max easier to set up on a CD-ROM or WORM. The old
"FileList Override" MAX.CTL option is now obsolete, and
should be removed from your control file. Instead, you
can declare a specific file listing path for each area,
through the "FileList xxxx.yyy" command in AREAS.CTL.
Just add this keyword to your area definition, followed
by the path of the file you wish to be displayed.
(Make sure to include an explicit extension, even if
the file ends with .BBS!)
* Modified the FILES.BBS display routine, when using a
dating method other than "File Date Automatic".
Previously, when using one of the other dating options,
Maximus would still look in the area's directory to
determine the file's size, which slows things down
quite a bit when using a CD-ROM or WORM. Now, if
you're using MANUAL dating, Maximus won't even bother
checking the directory entry when File Date is NOT set
to automatic, which will really speed things up.
Again, with manual dating, it is now up to you to
insert the file dates and sizes into FILES.BBS.
* The `F*' and `L*' new-files commands will now prompt
the user for a date, so it is now possible to search
from other than the date of the user's last call.
* Added a "dump file" for the protocol-selection screen.
Instead of the standard Max menu, you can insert a
"Uses ProtocolDump d:\path\file.ext" statement in the
SESSION section of your control file, and have Max
display that instead.
* Changed the formatting of the upload log slightly, to
make all of the information for one upload fit on one
line.
* Modified the file transfer protocols so that Maximus
WON'T allow the user to send a file which would bring
the free space count to less than "Upload Space Free"
option, as defined in MAX.CTL. If the user is using
Zmodem, then Max will instruct the remote end to skip
the file, and display the "Uses NoSpace" file once the
transfer has ended. If the user is using one of the
other protocols (which don't include file size
information in the header block), then Max will accept
the upload, but delete it once it has been determined
that there isn't enough space to accept the file. (Max
will display the "Uses NoSpace" file if this happens,
too.) Also, when selecting the U)pload command,
Maximus will display the number of bytes free on the
upload drive, but subtracting the amount of space
specified by "Upload Space Free" (so your users will
think your disk is actually full).
* Added a new option to the control file. Instead of
"External Protocol <xxx>", you can now declare an
"External BatchProtocol <xxx>", which has a format
identical to the original "External Protocol <xxx>".
By using "External BatchProtocol", you're telling
Maximus that the protocol in question can transfer more
than one file at a time, and will automatically
determine the filenames of uploaded files. In this
case, Max won't prompt the user for a filename to
upload, and Max will allow the user to download more
than one file. The old "External Protocol" option
should only be used for non-batch protocols, as Maximus
will prompt the user for an upload filename, and won't
let the user download more than one file at once.
* Max now allows one to use an Xtern_Erlvl-type exit for
external protocols, utilizing ERRORLVL.BAT. To do
this, you first need to set up your system to call
ERRORLVL.BAT when your batch file passes the
appropriate errorlevel; see the documentation for more
details. Once you've done that, instead of using
"External Protocol XXX" or "External BatchProtocol
XXX", use "External ExitProtocol XXX" or "External
BatchExitProtocol XXX". Also add a "External Protocol
Errorlevel YY" statement to MAX.CTL, where 'YY' is the
errorlevel you want Max to exit with when the protocol
is invoked. (It can be the same as you use for other
on-line programs, just as long as it calls
ERRORLVL.BAT. However, the default errorlevel for
external protocols is 9, and you can use this statement
to change it.) Once the protocol has completed,
control will return to your batch file, which should
reinvoke Maximus with the -R parameter. Once this has
happened, Max will check for the appropriate .LOG file,
and finish up the transfer.
* In addition to changing the actual priv level of the
user, barricade files will now modify users' DL limits
appropriately, based on the new priv level. The DL
limits will revert to their normal value upon exiting a
barricaded area.
* Maximus will now display the current path as the file
area discription, if O)verride Path has been used.
MECCA MECCA
* MECCA will now give an error message if you try to
define a label using a reserved word.
* MECCA will now accept the [colour] and [endcolour]
tokens, in addition to their American counterparts.
* Added a whole slew of MECCA tokens (some of these are
new, but some are older and just undocumented):
[chat_avail] Displays the rest of the line if the
user IS available for chat.
[chat_notavail] Displays the rest of the line if the
user is NOT available for chat
[who_is_on] Same as Who_Is_On menu command.
[msg_nonew] Displays current line if there are no
new msgs in the current area.
[msg_noread] Same as above, but displays the line
only if the user hasn't read any msgs in
the current area.
[msg_nomsgs] Same as above, but displays the line
only if the user has read NO messages in
area.
[msg_notenter] Only display the rest of the line if the
user did NOT just enter the current
area. ie. after at least one command
has been executed.
[msg_next] Displays the rest of the line if the
current reading direction is FORWARDS.
[msg_prior] Same as above, but displays only if
current reading direction is BACKWARDS.
[msg_local] Displays the rest of the line if the
current area is a local message area.
[msg_echo] Same as above, but for echo areas.
[msg_matrix] Same as above, but for matrix areas
[filenew]<f> Display the rest of the line, if file
<f> has been updated since the user's
last logon. <f> and the text to display
must be separated from <f> by a space.
For example, "[filenew]d:\bulletin.txt
Bulletin have been updated!"
[key_poke] Functions identically to the Key_Poke
menu option.
[clear_stacked] Functions identically to the
Clear_Stacked option.
[sysopbell] Rings a bell on the LOCAL console (not
the caller's).
[netcredit] User's matrix credit, in cents.
[netdebit] User's matrix debit, in cents.
[netbalance] User's matrix balance (credit minus
debit)
[b1200] Display current line only if user is
1200bps or above
[b2400] Same as above, but for 2400 bps or above
[b9600] Same as above, but for 9600 bps or above
[no_keypress] Only display current line if NO
keystroke from the COM port is waiting
to be processed.
[incity]<c> Display the current line if the string
<c> can be found in the user's CITY
field. ie. "[incity]Kingston Hello,
Kingstonian!"
[setpriv <p>] This token can now be used to adjust a
user's priv level to a specific level,
rather than just adjusting up/down with
[priv_up] and [priv_down]. ie.
"[setpriv Sysop]" or "[setpriv
Disgrace]".
[maxed] This will cause the rest of the line to
be displayed only if the user is
currently in MaxEd.
[msg_hmsg] This token will display the number of
the HIGHEST message in the current area.
[repeatseq] Although this command was present in
previous versions of Maximus, the MECCA
token was not implemented until this
time. The [repeatseq] token allows you
to repeat a string of text or AVATAR
commands (up to 24 characters long) a
certain number of times. The format for
[repeatseq] is:
[repeatseq <len>]<string>[<times>]
<len> is the length of <string>, in
bytes.
<string> is the actual text sequence to
repeat. This can also include AVATAR
codes. However, be warned that most
AVATAR codes are more than one byte
long!.
<times> represents the number of times
to repeat the sequence.
Examples:
[repeatseq 6]Hello[5]
This would repeat the string "Hello"
five times.
[repeatseq 5]Hi![down][10]
This would print the word "Hi!" and then
move the cursor down one line, a total
of five times.
[notontoday] This token will cause the rest of the
line to be displayed ONLY if the user
hadn't been on previously in the day.
* Added OACOMP compatiblity to MECCA. This means that
you can now use the following new constructs:
[label XXXX] Defines a label. Equivalent to [/XXXX]
[jump XXXX] Jumps to a label. Equivalent to [goto
XXXX]
[save] Saves the current colour combination at
the point where the [save] token is
placed. See also [load].
[load] Restores the colour from the last [save]
token. In other words, using this...
[lightgreen]Hello,
[save][yellow]JACK[load]!
...will display "Hello, JACK!", with the
"Hello" and "!" being lightgreen, while
the "JACK" will be yellow.
[FG xxxx] Sets the FOREGROUND COLOUR ONLY to
'xxxx', without changing the background
colour. ie. [FG lightcyan]
[BG xxxx] Sets the BACKGROUND COLOUR ONLY to
'xxxx', without changing the foreground
colour. ie. [BG green]
[steady] Turns off a previous [blink]. The blink
will be reset normally when another
colour token is encountered, but this
will let you turn it off, and still
retain the same colour.
[bright] Turns ON the high-intensity bit for the
current colour.
[dim] Turns OFF the high-intensity bit for the
current colour.
For example, this...
[lightgreen]H[dim]e[bright]l[dim]l[brigh
t]o[dim]!
Will display the word "Hello!", with
each character alternating between
normal green and lightgreen.
* Also added OACOMP-compatible priv tokens to MECCA.
This command can be used to REPLACE all of the other
privilege-level tokens, such as 'xLINE', 'xBELOW',
'xFILE', etc.
The new tokens follow the following format:
[<op> <priv> <action>]
<op> can be any of the following keywords:GT or ABOVE:
If priv is above the specified level
LT or BELOW: If priv is below the specified level
EQ or EQUAL: If priv is equal to the specified level
NE or NOTEQUAL: If priv isn't equal to specified level
GE or AE: If priv is more than or equal to level
LE or BE: If priv is less than or equal to level
<priv> can be any of the standard priv levels, or the
first letter of any of said priv levels.
<action> can be omitted, or can specify any of the
following tokens:
SEE or SHOW: Display this line if the condition is met
SKIP: Don't display this line if the condition is met
QUIT: Quit the entire file if the condition is met.
Examples:
[EQ Sysop Show]Hello, Sysop!
This displays "Hello, Sysop!" only to the Sysop.
[LE Disgrace Show]Hey, bozo!
This displays "Hey, bozo!" to any user whose priv
is less than or equal to Disgrace.
[GE Privil Skip]Please send $$$
This line displays "Please send $$$" only to those
users whose priv leve is NOT Privil or above.
[LT Limited Quit]
This tells Max to skip the rest of the file, if
the user's priv is less than Limited.
* Added some time-control statements to MECCA. The
format of the `iftime' token is:
[iftime <op> <hh>:<mm>]
The parameters for <op> are identical to those used for
the priv-level tokens (see above). (Valid options are
GE/AE, LE/BE, EQ/EQUAL, NE/UNEQUAL, GT/ABOVE, and
LT/BELOW.) <hh> and <mm> specify the time to compare
to, and must be specified in 24-hour time. (<mm> must
always be present; if you don't care about minutes,
then use "00" for <mm>.)
If the specified condition is met, then the rest of the
line is displayed to the user. In addition, you can
stack as many time tokens on a line as you want,
providing precise control based on the current time.
Examples:
[iftime GE 07:00]Abcd
The text `Abcd' would be displayed, if the time
was after 7AM.
[iftime GE 22:00 iftime LT 23:00]Abcd
The text `Abcd' would be displayed if the time was
between 22:00 and 22:59.
[iftime LT 19:07 iftime GE 19:00]
The text `Acbd' would be displayed if the time was
between 19:00 and 19:06.
[iftime GE 06:00 iftime NE 12:00]
It's after 6, but it's not exactly noon.
* The operation of the `[leave_comment]' token has been
slightly modified. If the user leaves a message (and
doesn't abort it), then Maximus will function as it did
before. However, if the user ABORTS the message, then
Maximus will skip the display of the rest of the line.
This allows you to test for whether or not the user
actually left a message, by using a construct such as
this:
[leave comment][goto User_Left_Msg]
[goto User_Didnt_Leave_Msg]
[/User_Left_Msg]
...
[/User_Didnt_Leave_Msg]
...
* Fixed up some of the support for deleted and permanent
users. Also added a '[permanent]' MECCA token, which
causes the current line only to be displayed to those
users who are marked as `permanent' in the user file.
Max will recognize these flags, but there is currently
no way of setting them from within Maximus, since I
don't want to make a lot of changes until 1.02 is
released.
* MECCA will now allow wildcards on the command-line.
SCANBLD SCANBLD
* SCANBLD will now allow you to EXCLUDE an area from
being scanned, by adding the area number to the
command-line, prefixed with an exclamation point. ie.
"SCANBLD USER.BBS AREAS.DAT ALL !2 !5" would scan all
areas except for #2 and #5.
* SCANBLD now supports a "/q" parameter for quiet mode.
Instead of printing a full report, if the "/q"
parameter is used, SCANBLD will instead display a
single dot for each area processed. This parameter
doesn't make SCANBLD any faster, but simply suppresses
the screen display.
* SCANBLD will now automatically delete the ECHOTOSS.LOG
file (if specified) after it has finished processing
all areas. If this is not desired, then you may invoke
SCANBLD with the "/nd" (no delete) command-line
parameter.
SILT SILT
* Made SILT become very picky about the characters
allowed in origin lines. It will balk at any character
below ASCII 32, and if the "High Bit Allowed" option is
NOT turned on for that area, SILT will also complain
about characters higher than ASCII 127.
* Added some optimization routines to the SILT compiler,
which should reduce the size of the .PRM file (and
hence increase by a few bytes the amount of space
available in the heap, which allows users to write
longer messages).
* Modified the SILT compiler to make it skip blocks of
the control file which begin with the word "Section",
and end with the word "End". This is very useful for
utility writers, since you can place your program's
configuration information inside MAX.CTL, instead of
requiring a separate control file. For example, you
can start off a section for your new AbcdUtil program
by adding the line "Section AbcdUtil" to the end of
your control file, and SILT will ignore everything
until the next "End AbcdUtil" statement. As long as
the first word on the beginning line is "Section", and
the first word on the ending line is "End", SILT will
ignore anything between those two markers.
* SILT will now ignore any lines, in any of the control
files, which begin with the word "App" or
"Application". This allows you to insert application-
specific keywords inside the Maximus control files, in
addition to the previously-mentioned "Section"
commands. Although SILT will completely ignore any of
these lines, the word immediately following the "App"
or "Application" token should be the name of your
program (no more than one word), and the next word on
the line should be the application-specific item which
you wish to define. Everything after that can be
defined by the application program.
For example, here's an example for a message-
renumbering program, called MYREN, which would be
instructed to keep only 200 messages in that area, and
delete the rest: (excerpt from AREAS.CTL)
Area 12
MsgAccess Limited
MsgInfo FidoNet Echo: MUFFIN, Maximus support
EchoMail D:\Path\Muffin
MsgName MUFFIN
App MYREN Keep 200
End Area
You can also use similar concepts in both MENUS.CTL and
MAX.CTL.
* Added an option to SILT to generate Opus 1.10-style
SYSTEM*.DAT files. Also made some changes to the
command-line syntax of the SILT compiler, as it caused
some confusion. Instead of entering `SILT MAX AREAS
PRM', you must now enter `SILT MAX -a -p'. The SILT
compiler now supports the following command-line
switches:
-p Compile the .PRM file(s)
-a Compile the AREA.* files
-s103 Compile SYSTEM*.BBS and ORIGIN. (Opus 1.03)
-s110 Compile SYSTEM*.DAT and ORIGIN. (Opus 1.10)
-m Compile *.MNU
-x Compile all of the above
-o Sort the areas in AREA.IDX.
If no switches are specified, then SILT defaults to "/p
/a /m". (In other words, everything but SYSTEM*.BBS
and SYSTEM*.DAT.)
* SILT will now write the index of the areas in order
they are found in AREAS.CTL, which affects the order
used by the "A>" and "A<" area-change commands. You
can use the `-o' switch to make SILT behave as it did
previously.
MISCELLANEOUS MISCELLANEOUS
* Now, after a user fails all five log-on password
attempts, Maximus will display the file
\MAX\MISC\BAD_PWD.BBS. (This is optional, and will be
displayed after the standard `INVALID PASSWORD'.)
* Cut the memory requirements down to 132K, by doing some
optimizing, and also some creative overlaying.
* Fixed the "virtual help level", and made it be set to
NOVICE while displaying a custom .BBS MenuFile, if the
user presses '.' for a command listing. Previously,
the menu was just redisplayed, with the user's normal
help level. (The user's virtual help level can be
determined through some of the conditional MECCA
tokens.)
* Divorced the "hotkeys" capability from the HOTFLASH
help level. Although hotkeys must always be active to
use HOTFLASH, they can now also be used independently
of the HOTFLASH help level. The new ":" command in the
user editor, and the new "Chg_Hotkeys" menu command,
have been added to support this. The default line to
add to MENUS.CTL is: (in the CHANGE menu)
Chg_Hotkeys Disgrace "!Hotkeys"
* A new hotkeys mode for the user editor. The `-uq'
command line parameter will invoke the user editor,
just as `-u' and `-uh' do. However, it will enable the
use of hotkeys, but without turning on HOTFLASH mode.
* Pressing "=" while a user is on-line will now display
the user's password on the local screen.
* IF YOU ARE USING A TASK NUMBER OTHER THAN ZERO, THEN
MAXIMUS WILL USE A DIFFERENT NAME FOR ERRORLVL.BAT!
Although the filename for systems which aren't using a
task number will remain the same, the batch file
generated for multiline systems will be called
ERRORLxx.BAT, where 'xx' is the task number in
hexadecimal.
ie.
ERRORL01.BAT - for task #1
ERRORL0B.BAT - for task #11
ERRORL11.BAT - for task #17
* If the system crashes while Maximus is running, Maximus
will now note this in the log, the next time Maximus is
executed.
* Due to popular demand, the A)rea Change command was
modified to display an area list the first time the
user presses <c/r> at the area prompt.
* Removed a filter from CHAT mode, to allow callers to
enter characters with the high bit set, if using IBM
characters.
* Made it possible to turn off graphics support for local
mode. For example, you can now set your V)ideo Mode to
TTY locally, to see how screens will look to non-
graphics users.
* If a user's password is blank, then that particular
account will be treated as a "guest account". This
means that NO password will be asked for, and the user
will be prompted to enter his/her preference for
ANSI/MaxEd/IBM every time s/he logs on. This is useful
for letting new users browse through your system,
without having your user file filled up with many
unused accounts.
* If you use the word "NoAccess" inside an extended
barricade file, in place of a priv level, then the
particular user specified won't even be able to get
into the area. In other words, Max will behave as if
the area didn't exist for that particular user.
ie.
!Jesse_David_Hollington Normal
!Hubert_Lai Normal
!All NoAccess
This would let only Jesse Hollington and Hubert Lai
into the barricaded area, and pretend that the area
didn't exist for all others.
* When specifying a *.BBS file to display, or the name of
a menu to show, the token '*' will be substituted for
the two-character task number of the current task. ie.
If you specify your "First Menu" as "MAIN*", then
MAIN1.MNU will be displayed for task #1, MAIN2.MNU will
be displayed for task #2, etc. This works equally well
in all places where a menu name can be specified, as it
also does for all *.BBS filenames. The task number is
represented in HEXADECIMAL, so task #10 would use `0A'
for the task number, task #11 would use `0B', etc.
* Udpated PIPER so it will now recognize the new priv
levels. (ie. WORTHY, CLERK, LIMITED, etc. will now all
work correctly.) PIPER will now also automatically
recognize and convert SYSTEM*.DAT.
* Maximus will now do some semi-intelligent
capitalization of users' names. If the FIRST letter of
a name is uppercase, and the SECOND letter is
lowercase, then Max will assume that the rest of the
name is capitalized correctly, and leave it alone.
Otherwise, Max will do the normal "caps on first letter
of word" function. This feature applies both to the
log-in prompt, and entering messages in the message
areas.
* The newANSI2MEC utility will convert an ANSI file to a
MECCA-compatible .MEC file. The output can then be
edited (ANSI2MEC makes sure that all output lines are
under 160 chars long), and recompiled with MECCA. If
you do a straight MECCA compile of the ANSI2MEC output,
it should be indentical to that produced by the one-
step ANSI2BBS utility, which will still be included in
future releases.
* You can now use the "%" outside-command tokens inside
the name of a *.BBS display file. However, in THIS
CASE ONLY, you must use a "+" instead of a "%". For
example, to display the name of a file based on the
user's city, you might enter the following:
[display]D:\Path\City+c
If the user's city was "Kingston, Ontario", then Max
would display a file called "D:\Path\CityKing".
* Multi-line chat added. You can add the following chat
menu to the end of your MENUS.CTL:
Menu CHAT
Title CHAT
MenuHeader Chat
Chat_CB Disgrace "CB Chat"
Chat_Page Disgrace "Page User"
Chat_Pvt Disgrace "Answer Page"
Chat_Toggle Disgrace "Toggle Status"
Display_Menu MAIN Disgrace "Main Menu"
Goodbye Disgrace "Goodbye"
Display_File Hlp\ChatHelp Disgrace "?help"
End Menu
Also, it is recommended that you have the chat menu
callable from the main menu, by using the "/" key:
Display_Menu CHAT Disgrace "/Chat Menu"
PLEASE READ THE SECTION IN THE MAXIMUS OPERATIONS
MANUAL ON `MULTI-LINE OPERATIONS' BEFORE ATTEMPTING TO
USE THE MULTI-NODE CHAT!
* Added a new command-line parameter, '-j'. This command
will allow you to JAM in a command into the input
buffer, just as if the user had typed it. Make sure to
include quotes around the command, if it includes any
spaces! For example, to log yourself on locally, you
could type: 'max -k "-jFirst Last;Y;Password"'. Also,
make sure that the quotes go around the -j itself, and
not just the argument,
Also added some other command-line parameters: '-q'
will now try to assign a unique task number to the
invoking task. NOTE: this parameter is NOT recommended
for normal use, and should be avoided if possible.
(The only real use is when running on a LAN, and if you
want to have multiple local users.) Also, there is a
'-xj' parameter, which completely disables the local
Alt-J shell-to-dos function. In addition, you can use
a modification of the -J parameter, "-j-", to tell Max
not to implant ANYTHING into the local keyboard buffer.
This will also cause Maximus to display LOGO.BBS, and
prompt a local user for his/her full name. Also, a
previously-undocumented switch, "-xz", can be used to
disable the internal Zmodem protocol.